home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / MPW IIGS Interfaces / PIIGSIncludes / QuickDraw.p < prev    next >
Encoding:
Text File  |  1990-04-25  |  18.5 KB  |  490 lines  |  [TEXT/MPS ]

  1. {********************************************
  2. ; File: Quickdraw.p
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc. 1986-90
  6. ; All Rights Reserved
  7. ;
  8. ********************************************}
  9.  
  10. UNIT QUICKDRAW;
  11. INTERFACE
  12. USES TYPES;
  13. CONST
  14.  
  15. { Error Codes }
  16. alreadyInitialized = $0401;  { Quickdraw already initialized }
  17. cannotReset = $0402;  { never used }
  18. notInitialized = $0403;  { Quickdraw not initialized }
  19. screenReserved = $0410;  { screen reserved }
  20. badRect = $0411;  { bad rectangle }
  21. notEqualChunkiness = $0420;  { Chunkiness is not equal }
  22. rgnAlreadyOpen = $0430;  { region is already open }
  23. rgnNotOpen = $0431;  { region is not open }
  24. rgnScanOverflow = $0432;  { region scan overflow }
  25. rgnFull = $0433;  { region is full }
  26. polyAlreadyOpen = $0440;  { poly is already open }
  27. polyNotOpen = $0441;  { poly is not open }
  28. polyTooBig = $0442;  { poly is too big }
  29. badTableNum = $0450;  { bad table number }
  30. badColorNum = $0451;  { bad color number }
  31. badScanLine = $0452;  { bad scan line }
  32. notImplemented = $04FF;  { not implemented }
  33.  
  34. {  }
  35. tsNumber = $04;
  36.  
  37. { AnSCBByte Masks }
  38. _colorTable = $0F;  { Mask for SCB color table }
  39. scbReserved = $10;  { Mask for SCB reserved bit }
  40. scbFill = $20;  { Mask for SCB fill bit }
  41. scbInterrupt = $40;  { Mask for SCB interrupt bit }
  42. scbColorMode = $80;  { Mask for SCB color mode bit }
  43.  
  44. { ColorData }
  45. table320 = $32;  { (val=size) }
  46. table640 = $32;  { (val=size) }
  47.  
  48. { ColorValue }
  49. blueMask = $000F;  { Mask for Blue nibble }
  50. greenMask = $00F0;  { Mask for green nibble }
  51. redMask = $0F00;  { Mask for red nibble }
  52.  
  53. { FontFlags }
  54. widMaxSize = $0001;
  55. zeroSize = $0002;
  56.  
  57. { GrafPort Sizes }
  58. maskSize = $08;  { Mask Size (val=size) }
  59. locSize = $10;  { Loc Size (val=size) }
  60. patsize = $20;  { Pattern Size (val=size) }
  61. pnStateSize = $32;  { Pen State Size (Val=size) }
  62. portSize = $AA;  { Size of GrafPort }
  63.  
  64. { MasterColors }
  65. black = $000;  { These work in 320 and 640 mode }
  66. blue = $00F;  { These work in 320 and 640 mode }
  67. darkGreen320 = $080;  { These work in 320 mode }
  68. green320 = $0E0;  { These work in 320 mode }
  69. green640 = $0F0;  { These work in 640 mode }
  70. lightBlue320 = $4DF;  { These work in 320 mode }
  71. purple320 = $72C;  { These work in 320 mode }
  72. darkGray320 = $777;  { These work in 320 mode }
  73. periwinkleBlue320 = $78F;  { These work in 320 mode }
  74. brown320 = $841;  { These work in 320 mode }
  75. lightGray320 = $0CCC;  { These work in 320 mode }
  76. red320 = $0D00;  { These work in 320 mode }
  77. lilac320 = $0DAF;  { These work in 320 mode }
  78. red640 = $0F00;  { These work in 640 mode }
  79. orange320 = $0F70;  { These work in 320 mode }
  80. flesh320 = $0FA9;  { These work in 320 mode }
  81. yellow = $0FF0;  { These work in 320 and 640 mode }
  82. white = $0FFF;  { These work in 320 and 640 mode }
  83.  
  84. { PenMode Data }
  85. modeCopy = $0000;
  86. modeOR = $0001;
  87. modeXOR = $0002;
  88. modeBIC = $0003;
  89. modeForeCopy = $0004;
  90. modeForeOR = $0005;
  91. modeForeXOR = $0006;
  92. modeForeBIC = $0007;
  93. modeNOT = $8000;
  94. notCopy = $8000;
  95. notOR = $8001;
  96. notXOR = $8002;
  97. notBIC = $8003;
  98. notForeCOPY = $8004;
  99. notForeOR = $8005;
  100. notForeXOR = $8006;
  101. notForeBIC = $8007;
  102.  
  103. { QDStartup }
  104. mode320 = $0000;  { Argument to QDStartup }
  105. mode640 = $0080;  { Argument to QDStartup }
  106.  
  107. { TextStyle }
  108. plainMask = $0000;  { Mask for plain text bit }
  109. boldMask = $0001;  { Mask for bold bit }
  110. italicMask = $0002;  { Mask for italic bit }
  111. underlineMask = $0004;  { Mask for underline bit }
  112. outlineMask = $0008;  { Mask for outline bit }
  113. shadowMask = $0010;  { Mask for shadow bit }
  114. fUseShadowing = $4000;
  115. fFastPortAware = $4000;
  116.  
  117. TYPE
  118. TextStyle = Integer ;
  119. ColorValue = Integer ;
  120. AnSCBByte = Byte ;
  121. PatternPtr = ^Pattern;
  122. Pattern = PACKED ARRAY[1..32] of Byte ;
  123. Mask = PACKED ARRAY[1..8] OF Byte;
  124. CursorHndl = ^CursorPtr;
  125. CursorPtr = ^Cursor;
  126. Cursor = RECORD
  127.     cursorHeight : Integer; { size in bytes }
  128.     cursorWidth : Integer; { enclosing rectangle }
  129.     cursorData : ARRAY[1..1,1..1] OF Integer;
  130.     cursorMask : ARRAY[1..1,1..1] OF Integer;
  131.     cursorHotSpot : Point;
  132. END;
  133. RegionHndl = ^RegionPtr;
  134. RegionPtr = ^Region;
  135. Region = RECORD
  136.     rgnSize : Integer; { size in bytes }
  137.     rgnBBox : Rect; { enclosing rectangle }
  138. END;
  139. BufDimRecHndl = ^BufDimRecPtr;
  140. BufDimRecPtr = ^BufDimRec;
  141. BufDimRec = RECORD
  142.     maxWidth : Integer;
  143.     textBufHeight : Integer;
  144.     textBufferWords : Integer;
  145.     fontWidth : Integer;
  146. END;
  147. FontHndl = ^FontPtr;
  148. FontPtr = ^Font;
  149. Font = RECORD
  150.     offseToMF : Integer; { fully defined front of the Font record. }
  151.     family : Integer;
  152.     style : TextStyle;
  153.     size : Integer;
  154.     version : Integer;
  155.     fbrExtent : Integer;
  156.     highowTLoc : Integer;
  157. END;
  158. FontGlobalsRecHndl = ^FontGlobalsRecPtr;
  159. FontGlobalsRecPtr = ^FontGlobalsRecord;
  160. FontGlobalsRecord = RECORD
  161.     fgFontID : Integer; { currently 12 bytes long, but may be expanded }
  162.     fgStyle : TextStyle;
  163.     fgSize : Integer;
  164.     fgVersion : Integer;
  165.     fgWidMax : Integer;
  166.     fgFBRExtent : Integer;
  167. END;
  168. FontIDHndl = ^FontIDPtr;
  169. FontIDPtr = ^FontID;
  170. FontID = PACKED RECORD
  171.   CASE Integer OF
  172.     0:
  173.       (  famNum : Integer;
  174.          fontStyle : Byte;
  175.          fontSize : Byte;
  176.       );
  177.     1:
  178.       (fidLong : Longint);
  179.   END;
  180.  
  181. FontInfoRecHndl = ^FontInfoRecPtr;
  182. FontInfoRecPtr = ^FontInfoRecord;
  183. FontInfoRecord = RECORD
  184.     ascent : Integer;
  185.     descent : Integer;
  186.     widMax : Integer;
  187.     leading : Integer;
  188. END;
  189. LocInfoHndl = ^LocInfoPtr;
  190. LocInfoPtr = ^LocInfo;
  191. LocInfo = RECORD
  192.     portSCB : Integer; { SCBByte in low byte }
  193.     ptrToPixImage : Ptr; { ImageRef }
  194.     width : Integer; { Width }
  195.     boundsRect : Rect; { BoundsRect }
  196. END;
  197. QDProcsHndl = ^QDProcsPtr;
  198. QDProcsPtr = ^QDProcs;
  199. QDProcs = RECORD
  200.     stdText : VoidProcPtr;
  201.     stdLine : VoidProcPtr;
  202.     stdRect : VoidProcPtr;
  203.     stdRRect : VoidProcPtr;
  204.     stdOval : VoidProcPtr;
  205.     stdArc : VoidProcPtr;
  206.     stdPoly : VoidProcPtr;
  207.     stdRgn : VoidProcPtr;
  208.     stdPixels : VoidProcPtr;
  209.     stdComment : VoidProcPtr;
  210.     stdTxMeas : VoidProcPtr;
  211.     stdTxBnds : VoidProcPtr;
  212.     stdGetPic : VoidProcPtr;
  213.     stdPutPic : VoidProcPtr;
  214. END;
  215. GrafPortHndl = ^GrafPortPtr;
  216. GrafPortPtr = ^GrafPort;
  217. GrafPort = RECORD
  218.     portInfo : LocInfo;
  219.     portRect : Rect; { PortRect }
  220.     clipRgn : RegionHndl; { Clip Rgn. Pointer }
  221.     visRgn : RegionHndl; { Vis. Rgn. Pointer }
  222.     bkPat : Pattern; { BackGround Pattern }
  223.     pnLoc : Point; { Pen Location }
  224.     pnSize : Point; { Pen Size }
  225.     pnMode : Integer; { Pen Mode }
  226.     pnPat : Pattern; { Pen Pattern }
  227.     pnMask : Mask; { Pen Mask }
  228.     pnVis : Integer; { Pen Visable }
  229.     fontHandle : FontHndl;
  230.     fontID : FontID; { Font ID }
  231.     fontFlags : Integer; { FontFlags }
  232.     txSize : Integer; { Text Size }
  233.     txFace : TextStyle; { Text Face }
  234.     txMode : Integer; { Text Mode }
  235.     spExtra : Fixed; { Fixed Point Value }
  236.     chExtra : Fixed; { Fixed Point Value }
  237.     fgColor : Integer; { ForeGround Color }
  238.     bgColor : Integer; { BackGround Color }
  239.     picSave : Handle; { PicSave }
  240.     rgnSave : Handle; { RgnSave }
  241.     polySave : Handle; { PolySave }
  242.     grafProcs : QDProcsPtr;
  243.     arcRot : Integer; { ArcRot }
  244.     userField : Longint; { UserField }
  245.     sysField : Longint; { SysField }
  246. END;
  247. PaintParamHndl = ^PaintParamPtr;
  248. PaintParamPtr = ^PaintParam;
  249. PaintParam = RECORD
  250.     ptrToSourceLocInfo : LocInfoPtr;
  251.     ptrToDestLocInfo : LocInfoPtr;
  252.     ptrToSourceRect : RectPtr;
  253.     ptrToDestPoint : PointPtr;
  254.     mode : Integer;
  255.     maskHandle : Handle; { clip region }
  256. END;
  257. PenStateHndl = ^PenStatePtr;
  258. PenStatePtr = ^PenState;
  259. PenState = RECORD
  260.     psPenLoc : Point;
  261.     psPenSize : Point;
  262.     psPenMode : Integer;
  263.     psPenPat : Pattern;
  264.     psPenMask : Mask;
  265. END;
  266. RomFontRecHndl = ^RomFontRecPtr;
  267. RomFontRecPtr = ^RomFontRec;
  268. RomFontRec = RECORD
  269.     rfFamNum : Integer;
  270.     rfFamStyle : Integer;
  271.     rfSize : Integer;
  272.     rfFontHandle : FontHndl;
  273.     rfNamePtr : Ptr;
  274.     rfFBRExtent : Integer;
  275. END;
  276. ColorTableHndl = ^ColorTablePtr;
  277. ColorTablePtr = ^ColorTable;
  278. ColorTable = ARRAY [0..15] OF Integer ;
  279. PROCEDURE AddPt (VAR srcPtPtr:Point;VAR destPtPtr:Point)  ;
  280. PROCEDURE CStringBounds ( cStringPtr:Ptr;VAR resultRect:Rect)  ;
  281. FUNCTION CStringWidth ( cStringPtr:Ptr) : Integer ;
  282. PROCEDURE CharBounds ( theChar:CHAR;VAR resultPtr:Rect)  ;
  283. FUNCTION CharWidth ( theChar:CHAR) : Integer ;
  284. PROCEDURE ClearScreen ( colorWord:Integer)  ;
  285. PROCEDURE ClipRect ( rectPtr:Rect)  ;
  286. PROCEDURE ClosePoly   ;
  287. PROCEDURE ClosePort ( portPtr:GrafPortPtr)  ;
  288. PROCEDURE CloseRgn ( aRgnHandle:RegionHndl)  ;
  289. PROCEDURE CopyRgn ( srcRgnHandle:RegionHndl; destRgnHandle:RegionHndl)  ;
  290. PROCEDURE DiffRgn ( rgn1Handle:RegionHndl; rgn2Handle:RegionHndl; diffRgnHandle:RegionHndl)  ;
  291. PROCEDURE DisposeRgn ( aRgnHandle:RegionHndl)  ;
  292. PROCEDURE DrawCString ( cStrPtr:CStringPtr)  ;
  293. PROCEDURE DrawChar ( theChar:CHAR)  ;
  294. PROCEDURE DrawString ( str:Str255)  ;
  295. PROCEDURE DrawText ( textPtr:Ptr; textLength:Integer)  ;
  296. FUNCTION  EmptyRgn ( aRgnHandle:RegionHndl) : Boolean ;
  297. FUNCTION EqualPt (VAR point1Ptr:Point;VAR point2Ptr:Point) : Boolean ;
  298. FUNCTION EqualRect ( rect1Ptr:Rect; rect2Ptr:Rect) : Boolean ;
  299. FUNCTION  EqualRgn ( rgn1Handle:RegionHndl; rgn2Handle:RegionHndl) : Boolean ;
  300. PROCEDURE EraseArc ( rectPtr:Rect; startAngle:Integer; arcAngle:Integer)  ;
  301. PROCEDURE EraseOval ( rectPtr:Rect)  ;
  302. PROCEDURE ErasePoly ( polyHandle:Handle)  ;
  303. PROCEDURE EraseRRect ( rectPtr:Rect; ovalWidth:Integer; ovalHeight:Integer)  ;
  304. PROCEDURE EraseRect ( rectPtr:Rect)  ;
  305. PROCEDURE EraseRgn ( aRgnHandle:RegionHndl)  ;
  306. PROCEDURE FillArc ( rectPtr:Rect; startAngle:Integer; arcAngle:Integer; patternPtr:Pattern)  ;
  307. PROCEDURE FillOval ( rectPtr:Rect; patternPtr:Pattern)  ;
  308. PROCEDURE FillPoly ( polyHandle:Handle; patternPtr:Pattern)  ;
  309. PROCEDURE FillRRect ( rectPtr:Rect; ovalWidth:Integer; ovalHeight:Integer; patternPtr:Pattern)  ;
  310. PROCEDURE FillRect ( rectPtr:Rect; patternPtr:Pattern)  ;
  311. PROCEDURE FillRgn ( aRgnHandle:RegionHndl; __patternPtr:Pattern)  ;
  312. PROCEDURE ForceBufDims ( maxWidth:Integer; maxFontHeight:Integer; maxFBRExtent:Integer)  ;
  313. PROCEDURE FrameArc ( rectPtr:Rect; startAngle:Integer; arcAngle:Integer)  ;
  314. PROCEDURE FrameOval ( rectPtr:Rect)  ;
  315. PROCEDURE FramePoly ( polyHandle:Handle)  ;
  316. PROCEDURE FrameRRect ( rectPtr:Rect; ovalWidth:Integer; ovalHeight:Integer)  ;
  317. PROCEDURE FrameRect ( rectPtr:Rect)  ;
  318. PROCEDURE FrameRgn ( aRgnHandle:RegionHndl)  ;
  319. FUNCTION GetAddress ( tableID:Integer) : Ptr ;
  320. FUNCTION GetArcRot  : Integer ;
  321. FUNCTION GetBackColor  : Integer ;
  322. PROCEDURE GetBackPat (VAR patternPtr:Pattern)  ;
  323. FUNCTION GetCharExtra  : Fixed ;
  324. PROCEDURE GetClip ( aRgnHandle:RegionHndl)  ;
  325. FUNCTION  GetClipHandle  : RegionHndl ;
  326. FUNCTION GetColorEntry ( tableNumber:Integer; entryNumber:Integer) : Integer ;
  327. PROCEDURE GetColorTable ( tableNumber:Integer;VAR destTablePtr:ColorTable)  ;
  328. FUNCTION GetCursorAdr  : CursorPtr ;
  329. FUNCTION GetFGSize  : Integer ;
  330. FUNCTION GetFont  : FontHndl ;
  331. FUNCTION GetFontFlags  : Integer ;
  332. PROCEDURE GetFontGlobals (VAR fgRecPtr:FontGlobalsRecord)  ;
  333. FUNCTION  GetFontID  : FontID ;
  334. PROCEDURE GetFontInfo (VAR fontInfoRecPtr:FontInfoRecord)  ;
  335. FUNCTION GetFontLore (VAR recordPtr:FontGlobalsRecord; recordSize:Integer) : Integer ;
  336. FUNCTION GetForeColor  : Integer ;
  337. FUNCTION GetGrafProcs  : QDProcsPtr ;
  338. FUNCTION GetMasterSCB  : Integer ;
  339. PROCEDURE GetPen (VAR pointPtr:Point)  ;
  340. PROCEDURE GetPenMask (VAR maskPtr:Mask)  ;
  341. FUNCTION GetPenMode  : Integer ;
  342. PROCEDURE GetPenPat (VAR patternPtr:Pattern)  ;
  343. PROCEDURE GetPenSize (VAR pointPtr:Point)  ;
  344. PROCEDURE GetPenState (VAR aPenStatePtr:PenState)  ;
  345. FUNCTION GetPicSave  : Longint ;
  346. FUNCTION GetPixel ( h:Integer; v:Integer) : Integer ;
  347. FUNCTION GetPolySave  : Longint ;
  348. FUNCTION GetPort  : GrafPortPtr ;
  349. PROCEDURE GetPortLoc (VAR locInfoPtr:LocInfo)  ;
  350. PROCEDURE GetPortRect (VAR portRectPtr:Rect)  ;
  351. PROCEDURE GetROMFont (VAR recordPtr:RomFontRec)  ;
  352. FUNCTION GetRgnSave  : Longint ;
  353. FUNCTION GetSCB ( scanLine:Integer) : Integer ;
  354. FUNCTION GetSpaceExtra  : Fixed ;
  355. FUNCTION GetStandardSCB  : Integer ;
  356. FUNCTION GetSysField  : Longint ;
  357. FUNCTION GetSysFont  : FontHndl ;
  358. FUNCTION GetTextFace  : TextStyle ;
  359. FUNCTION GetTextMode  : Integer ;
  360. FUNCTION GetTextSize  : Integer ;
  361. FUNCTION GetUserField  : Longint ;
  362. FUNCTION  GetVisHandle  : RegionHndl ;
  363. PROCEDURE GetVisRgn ( aRgnHandle:RegionHndl)  ;
  364. PROCEDURE GlobalToLocal (VAR pointPtr:Point)  ;
  365. PROCEDURE GrafOff   ;
  366. PROCEDURE GrafOn   ;
  367. PROCEDURE HideCursor   ;
  368. PROCEDURE HidePen   ;
  369. PROCEDURE InflateTextBuffer ( newWidth:Integer; newHeight:Integer)  ;
  370. PROCEDURE InitColorTable (VAR tablePtr:ColorTable)  ;
  371. PROCEDURE InitCursor   ;
  372. PROCEDURE InitPort ( portPtr:GrafPortPtr)  ;
  373. PROCEDURE InsetRect (VAR insetRectPtr:Rect; deltaH:Integer; deltaV:Integer)  ;
  374. PROCEDURE InsetRgn ( aRgnHandle:RegionHndl; dH:Integer; dV:Integer)  ;
  375. PROCEDURE InvertArc ( rectPtr:Rect; startAngle:Integer; arcAngle:Integer)  ;
  376. PROCEDURE InvertOval ( rectPtr:Rect)  ;
  377. PROCEDURE InvertPoly ( polyHandle:Handle)  ;
  378. PROCEDURE InvertRRect ( rectPtr:Rect; ovalWidth:Integer; ovalHeight:Integer)  ;
  379. PROCEDURE InvertRect ( rectPtr:Rect)  ;
  380. PROCEDURE InvertRgn ( aRgnHandle:RegionHndl)  ;
  381. PROCEDURE KillPoly ( polyHandle:Handle)  ;
  382. PROCEDURE Line ( dH:Integer; dV:Integer)  ;
  383. PROCEDURE LineTo ( h:Integer; v:Integer)  ;
  384. PROCEDURE LocalToGlobal (VAR pointPtr:Point)  ;
  385. PROCEDURE MapPoly ( polyHandle:Handle; srcRectPtr:Rect; destRectPtr:Rect)  ;
  386. PROCEDURE MapPt (VAR pointPtr:Point; srcRectPtr:Rect; destRectPtr:Rect)  ;
  387. PROCEDURE MapRect (VAR rectPtr:Rect; srcRectPtr:Rect; destRectPtr:Rect)  ;
  388. PROCEDURE MapRgn ( aRgnHandle:RegionHndl; srcRectPtr:Rect; destdRectPtr:Rect)  ;
  389. PROCEDURE Move ( dH:Integer; dV:Integer)  ;
  390. PROCEDURE MovePortTo ( h:Integer; v:Integer)  ;
  391. PROCEDURE MoveTo ( h:Integer; v:Integer)  ;
  392. FUNCTION  NewRgn  : RegionHndl ;
  393. FUNCTION NotEmptyRect ( rectPtr:Rect) : Boolean ;
  394. PROCEDURE ObscureCursor   ;
  395. PROCEDURE OffsetPoly ( polyHandle:Handle; dH:Integer; dV:Integer)  ;
  396. PROCEDURE OffsetRect (VAR offsetRectPtr:Rect; deltaH:Integer; deltaV:Integer)  ;
  397. PROCEDURE OffsetRgn ( aRgnHandle:RegionHndl; dH:Integer; dV:Integer)  ;
  398. FUNCTION OpenPoly  : handle ;
  399. PROCEDURE OpenPort ( portPtr:GrafPortPtr)  ;
  400. PROCEDURE OpenRgn   ;
  401. PROCEDURE PPToPort ( srcLocPtr:LocInfoPtr; srcRectPtr:Rect; destX:Integer; destY:Integer; transferMode:Integer)  ;
  402. PROCEDURE PaintArc ( rectPtr:Rect; startAngle:Integer; arcAngle:Integer)  ;
  403. PROCEDURE PaintOval ( rectPtr:Rect)  ;
  404. PROCEDURE PaintPixels ( aPaintParamPtr:PaintParam)  ;
  405. PROCEDURE PaintPoly ( polyHandle:Handle)  ;
  406. PROCEDURE PaintRRect ( rectPtr:Rect; ovalWidth:Integer; ovalHeight:Integer)  ;
  407. PROCEDURE PaintRect ( rectPtr:Rect)  ;
  408. PROCEDURE PaintRgn ( aRgnHandle:RegionHndl)  ;
  409. PROCEDURE PenNormal   ;
  410. PROCEDURE Pt2Rect (VAR point1Ptr:PointPtr;VAR point2Ptr:PointPtr;VAR toRectPtr:Rect)  ;
  411. FUNCTION PtInRect (VAR pointPtr:Point; rectPtr:Rect) : Boolean ;
  412. FUNCTION  PtInRgn (VAR aPointPtr:PointPtr; aRgnHandle:RegionHndl) : Boolean ;
  413. PROCEDURE QDBootInit   ;
  414. PROCEDURE QDReset   ;
  415. PROCEDURE QDShutDown   ;
  416. PROCEDURE QDStartUp ( dPageAddr:Integer; masterSCB:Integer; maxWidth:Integer; userID:Integer)  ;
  417. FUNCTION QDStatus  : Boolean ;
  418. FUNCTION QDVersion  : Integer ;
  419. FUNCTION Random  : Integer ;
  420. FUNCTION  RectInRgn ( aRectPtr:Rect; aRgnHandle:RegionHndl) : Boolean ;
  421. PROCEDURE RectRgn ( aRgnHandle:RegionHndl; __rectPtr:Rect)  ;
  422. PROCEDURE RestoreBufDims ( sizeInfoPtr:BufDimRecPtr)  ;
  423. PROCEDURE SaveBufDims (VAR sizeInfoPtr:BufDimRec)  ;
  424. PROCEDURE ScalePt (VAR pointPtr:Point; srcRectPtr:Rect; destRectPtr:Rect)  ;
  425. PROCEDURE ScrollRect ( __rectPtr:Rect; dH:Integer; dV:Integer; aRgnHandle:RegionHndl)  ;
  426. FUNCTION SectRect ( rect1Ptr:Rect; rect2Ptr:Rect;VAR intersectRectPtr:Rect) : Boolean ;
  427. PROCEDURE SectRgn ( rgn1Handle:RegionHndl; rgn2Handle:RegionHndl; destRgnHandle:RegionHndl)  ;
  428. PROCEDURE SetAllSCBs ( newSCB:Integer)  ;
  429. PROCEDURE SetArcRot ( arcRotValue:Integer)  ;
  430. PROCEDURE SetBackColor ( backColor:Integer)  ;
  431. PROCEDURE SetBackPat ( patternPtr:Pattern)  ;
  432. PROCEDURE SetBufDims ( maxWidth:Integer; maxFontHeight:Integer; maxFBRExtent:Integer)  ;
  433. PROCEDURE SetCharExtra ( charExtra:Fixed)  ;
  434. PROCEDURE SetClip ( aRgnHandle:RegionHndl)  ;
  435. PROCEDURE SetClipHandle ( aRgnHandle:RegionHndl)  ;
  436. PROCEDURE SetColorEntry ( tableNumber:Integer; entryNumber:Integer; newColor:ColorValue)  ;
  437. PROCEDURE SetColorTable ( tableNumber:Integer; srcTablePtr:ColorTable)  ;
  438. PROCEDURE SetCursor ( theCursorPtr:Cursor)  ;
  439. PROCEDURE SetEmptyRgn ( aRgnHandle:RegionHndl)  ;
  440. PROCEDURE SetFont ( newFontHandle:FontHndl)  ;
  441. PROCEDURE SetFontFlags ( fontFlags:Integer)  ;
  442. PROCEDURE SetFontID ( newFontID:FontID)  ;
  443. PROCEDURE SetForeColor ( foreColor:Integer)  ;
  444. PROCEDURE SetGrafProcs ( grafProcsPtr:QDProcsPtr)  ;
  445. PROCEDURE SetIntUse ( useInt:Boolean)  ;
  446. PROCEDURE SetMasterSCB ( masterSCB:Integer)  ;
  447. PROCEDURE SetOrigin ( h:Integer; v:Integer)  ;
  448. PROCEDURE SetPenMask ( maskPtr:Mask)  ;
  449. PROCEDURE SetPenMode ( penMode:Integer)  ;
  450. PROCEDURE SetPenPat ( patternPtr:Pattern)  ;
  451. PROCEDURE SetPenSize ( penWidth:Integer; penHeight:Integer)  ;
  452. PROCEDURE SetPenState ( newPenStatePtr:PenState)  ;
  453. PROCEDURE SetPicSave ( picSaveValue:Longint)  ;
  454. PROCEDURE SetPolySave ( polySaveValue:Longint)  ;
  455. PROCEDURE SetPort ( portPtr:GrafPortPtr)  ;
  456. PROCEDURE SetPortLoc ( newLocInfoPtr:LocInfo)  ;
  457. PROCEDURE SetPortRect ( rectPtr:Rect)  ;
  458. PROCEDURE SetPortSize ( portWidth:Integer; portHeight:Integer)  ;
  459. PROCEDURE SetPt (VAR srcPtPtr:Point; h:Integer; v:Integer)  ;
  460. PROCEDURE SetRandSeed ( randomSeed:Longint)  ;
  461. PROCEDURE SetRect (VAR aRectPtr:Rect; left:Integer; top:Integer; right:Integer; bottom:Integer)  ;
  462. PROCEDURE SetRectRgn ( aRgnHandle:RegionHndl; left:Integer; top:Integer; right:Integer; bottom:Integer)  ;
  463. PROCEDURE SetRgnSave ( rgnSaveValue:Longint)  ;
  464. PROCEDURE SetSCB ( scanLine:Integer; newSCB:Integer)  ;
  465. PROCEDURE SetSolidBackPat ( colorNum:Integer)  ;
  466. PROCEDURE SetSolidPenPat ( colorNum:Integer)  ;
  467. PROCEDURE SetSpaceExtra ( spaceExtra:Fixed)  ;
  468. PROCEDURE SetStdProcs ( stdProcRecPtr:QDProcsPtr)  ;
  469. PROCEDURE SetSysField ( sysFieldValue:Longint)  ;
  470. PROCEDURE SetSysFont ( fontHandle:FontHndl)  ;
  471. PROCEDURE SetTextFace ( textFace:TextStyle)  ;
  472. PROCEDURE SetTextMode ( textMode:Integer)  ;
  473. PROCEDURE SetTextSize ( textSize:Integer)  ;
  474. PROCEDURE SetUserField ( userFieldValue:Longint)  ;
  475. PROCEDURE SetVisHandle ( aRgnHandle:RegionHndl)  ;
  476. PROCEDURE SetVisRgn ( aRgnHandle:RegionHndl)  ;
  477. PROCEDURE ShowCursor   ;
  478. PROCEDURE ShowPen   ;
  479. PROCEDURE SolidPattern ( colorNum:Integer;VAR patternPtr:Pattern)  ;
  480. PROCEDURE StringBounds ( str:Str255;VAR resultPtr:Rect)  ;
  481. FUNCTION StringWidth ( str:Str255) : Integer ;
  482. PROCEDURE SubPt (VAR srcPtPtr:Point;VAR destPtPtr:Point)  ;
  483. PROCEDURE TextBounds ( textPtr:Ptr; textLength:Integer;VAR resultPtr:Rect)  ;
  484. FUNCTION TextWidth ( textPtr:Ptr; textLength:Integer) : Integer ;
  485. PROCEDURE UnionRect ( rect1Ptr:Rect; rect2Ptr:Rect;VAR unionRectPtr:Rect)  ;
  486. PROCEDURE UnionRgn ( rgn1Handle:RegionHndl; rgn2Handle:RegionHndl; unionRgnHandle:RegionHndl)  ;
  487. PROCEDURE XorRgn ( rgn1Handle:RegionHndl; rgn2Handle:RegionHndl; xorRgnHandle:RegionHndl)  ;
  488. IMPLEMENTATION
  489. END.
  490.